package com.cr.sync.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * 远程数据-投入品台账对象 tb_sync_production_profuct_input
 * 
 * @author tang
 * @date 2025-08-29
 */
public class TbSyncProductionProfuctInput implements Serializable {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 投入品名称 */
    private String productInputName;

    /** 投入品类型(1:农药,2:兽药,3:鱼药,4:肥料,5:饲料) */
    private Integer type;

    /** 使用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useTime;

    /** 采购数量 */
    private String purchaseNumber;

    /** 采购数量单位(17:克,16:千克,18:吨,20:毫升,21:升) */
    private String purchaseUnit;

    /** 使用数量 */
    private String useNumber;

    /** 使用数量单位(17:克,16:千克,18:吨,20:毫升,21:升) */
    private Integer useUnit;

    /** 主体名称 */
    private String bodyName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setProductInputName(String productInputName) 
    {
        this.productInputName = productInputName;
    }

    public String getProductInputName() 
    {
        return productInputName;
    }

    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }

    public void setUseTime(Date useTime) 
    {
        this.useTime = useTime;
    }

    public Date getUseTime() 
    {
        return useTime;
    }

    public void setPurchaseNumber(String purchaseNumber) 
    {
        this.purchaseNumber = purchaseNumber;
    }

    public String getPurchaseNumber() 
    {
        return purchaseNumber;
    }

    public void setPurchaseUnit(String purchaseUnit) 
    {
        this.purchaseUnit = purchaseUnit;
    }

    public String getPurchaseUnit() 
    {
        return purchaseUnit;
    }

    public void setUseNumber(String useNumber) 
    {
        this.useNumber = useNumber;
    }

    public String getUseNumber() 
    {
        return useNumber;
    }

    public void setUseUnit(Integer useUnit) 
    {
        this.useUnit = useUnit;
    }

    public Integer getUseUnit() 
    {
        return useUnit;
    }

    public void setBodyName(String bodyName) 
    {
        this.bodyName = bodyName;
    }

    public String getBodyName() 
    {
        return bodyName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productInputName", getProductInputName())
            .append("type", getType())
            .append("useTime", getUseTime())
            .append("purchaseNumber", getPurchaseNumber())
            .append("purchaseUnit", getPurchaseUnit())
            .append("useNumber", getUseNumber())
            .append("useUnit", getUseUnit())
            .append("bodyName", getBodyName())
            .toString();
    }
}
